Skip to content

Add provider default_headers for fresh auth on destroy (Closes #83) - #162

Merged
devops-rob merged 2 commits into
mainfrom
fix/83-provider-default-headers
Jul 22, 2026
Merged

Add provider default_headers for fresh auth on destroy (Closes #83)#162
devops-rob merged 2 commits into
mainfrom
fix/83-provider-default-headers

Conversation

@devops-rob

@devops-rob devops-rob commented Jul 22, 2026

Copy link
Copy Markdown
Owner

Summary

  • Add optional provider default_headers map (sensitive) applied to every outbound HTTP request
  • Provider headers override resource/state headers on matching keys, so fresh auth tokens replace stale values during destroy
  • Fixes terracurl Destroy Operation Uses Stale ID Token from State File #83 where expired GCP ID tokens in state caused 401 errors on destroy

Test plan

  • Unit tests for header merge precedence, Host override, and Delete with stale state + fresh provider meta
  • go test ./... passes locally
  • CI green before merge

Migration

Move short-lived auth headers from resource headers / destroy_headers to provider default_headers:

provider "terracurl" {
  default_headers = {
    "X-Serverless-Authorization" = "Bearer ${data.google_service_account_id_token.sa_gcp.id_token}"
  }
}

See docs/guides/default_headers.md for details.

Made with Cursor

Provider-level headers are re-evaluated on every Terraform run and override
stale resource header values during destroy, fixing expired token failures.

Closes #83

Co-authored-by: Cursor <cursoragent@cursor.com>
@cursor

cursor Bot commented Jul 22, 2026

Copy link
Copy Markdown

Bugbot is not enabled for your account, so this pull request was not reviewed.

Enable Bugbot in the Cursor dashboard to get automatic reviews on future PRs.

Co-authored-by: Cursor <cursoragent@cursor.com>
@devops-rob
devops-rob merged commit 6d831b2 into main Jul 22, 2026
26 checks passed
@devops-rob
devops-rob deleted the fix/83-provider-default-headers branch July 22, 2026 12:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

terracurl Destroy Operation Uses Stale ID Token from State File

1 participant